/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sofia.Persistencia.Entidades;

import java.io.Serializable;
import java.sql.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author crisfalt
 */
@Entity
@Table(name = "Paciente", catalog = "sofia", schema = "")
@NamedQueries({
    @NamedQuery(name = "EPaciente.findAll", query = "SELECT e FROM EPaciente e"),
    @NamedQuery(name = "EPaciente.findByIdCedula", query = "SELECT e FROM EPaciente e WHERE e.idCedula = :idCedula"),
    @NamedQuery(name = "EPaciente.findByNombre", query = "SELECT e FROM EPaciente e WHERE e.nombre = :nombre"),
    @NamedQuery(name = "EPaciente.findByFechaNacimiento", query = "SELECT e FROM EPaciente e WHERE e.fechaNacimiento = :fechaNacimiento"),
    @NamedQuery(name = "EPaciente.findByEdad", query = "SELECT e FROM EPaciente e WHERE e.edad = :edad"),
    @NamedQuery(name = "EPaciente.findByDiagnosticoMedico", query = "SELECT e FROM EPaciente e WHERE e.diagnosticoMedico = :diagnosticoMedico"),
    @NamedQuery(name = "EPaciente.findByMedicoRemitente", query = "SELECT e FROM EPaciente e WHERE e.medicoRemitente = :medicoRemitente"),
    @NamedQuery(name = "EPaciente.findByNombreAcudiente", query = "SELECT e FROM EPaciente e WHERE e.nombreAcudiente = :nombreAcudiente"),
    @NamedQuery(name = "EPaciente.findByEps", query = "SELECT e FROM EPaciente e WHERE e.eps = :eps"),
    @NamedQuery(name = "EPaciente.findByFechaIngreso", query = "SELECT e FROM EPaciente e WHERE e.fechaIngreso = :fechaIngreso"),
    @NamedQuery(name = "EPaciente.findByDiagnosticoFisioterapeutico", query = "SELECT e FROM EPaciente e WHERE e.diagnosticoFisioterapeutico = :diagnosticoFisioterapeutico"),
    @NamedQuery(name = "EPaciente.findByResumenHistoriaClinica", query = "SELECT e FROM EPaciente e WHERE e.resumenHistoriaClinica = :resumenHistoriaClinica"),
    @NamedQuery(name = "EPaciente.findByTipoPaciente", query = "SELECT e FROM EPaciente e WHERE e.tipoPaciente = :tipoPaciente")})
public class EPaciente implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "id_cedula", nullable = false, length = 20)
    private String idCedula;
    @Basic(optional = false)
    @Column(name = "nombre", nullable = false, length = 120)
    private String nombre;
    @Column(name = "fecha_nacimiento")
    @Temporal(TemporalType.DATE)
    private Date fechaNacimiento;
    @Column(name = "edad")
    private Integer edad;
    @Column(name = "diagnostico_medico", length = 600)
    private String diagnosticoMedico;
    @Column(name = "medico_remitente", length = 120)
    private String medicoRemitente;
    @Column(name = "nombre_acudiente", length = 120)
    private String nombreAcudiente;
    @Column(name = "eps", length = 80)
    private String eps;
    @Column(name = "fecha_ingreso")
    @Temporal(TemporalType.DATE)
    private Date fechaIngreso;
    @Column(name = "diagnostico_fisioterapeutico", length = 500)
    private String diagnosticoFisioterapeutico;
    @Column(name = "resumen_historia_clinica", length = 600)
    private String resumenHistoriaClinica;
    @Column(name = "tipo_paciente", length = 20)
    private String tipoPaciente;

    public EPaciente() {
    }

    public EPaciente(String idCedula) {
        this.idCedula = idCedula;
    }

    public EPaciente(String idCedula, String nombre) {
        this.idCedula = idCedula;
        this.nombre = nombre;
    }

    public String getIdCedula() {
        return idCedula;
    }

    public void setIdCedula(String idCedula) {
        this.idCedula = idCedula;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public Date getFechaNacimiento() {
        return fechaNacimiento;
    }

    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

    public Integer getEdad() {
        return edad;
    }

    public void setEdad(Integer edad) {
        this.edad = edad;
    }

    public String getDiagnosticoMedico() {
        return diagnosticoMedico;
    }

    public void setDiagnosticoMedico(String diagnosticoMedico) {
        this.diagnosticoMedico = diagnosticoMedico;
    }

    public String getMedicoRemitente() {
        return medicoRemitente;
    }

    public void setMedicoRemitente(String medicoRemitente) {
        this.medicoRemitente = medicoRemitente;
    }

    public String getNombreAcudiente() {
        return nombreAcudiente;
    }

    public void setNombreAcudiente(String nombreAcudiente) {
        this.nombreAcudiente = nombreAcudiente;
    }

    public String getEps() {
        return eps;
    }

    public void setEps(String eps) {
        this.eps = eps;
    }

    public Date getFechaIngreso() {
        return fechaIngreso;
    }

    public void setFechaIngreso(Date fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }

    public String getDiagnosticoFisioterapeutico() {
        return diagnosticoFisioterapeutico;
    }

    public void setDiagnosticoFisioterapeutico(String diagnosticoFisioterapeutico) {
        this.diagnosticoFisioterapeutico = diagnosticoFisioterapeutico;
    }

    public String getResumenHistoriaClinica() {
        return resumenHistoriaClinica;
    }

    public void setResumenHistoriaClinica(String resumenHistoriaClinica) {
        this.resumenHistoriaClinica = resumenHistoriaClinica;
    }

    public String getTipoPaciente() {
        return tipoPaciente;
    }

    public void setTipoPaciente(String tipoPaciente) {
        this.tipoPaciente = tipoPaciente;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idCedula != null ? idCedula.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof EPaciente)) {
            return false;
        }
        EPaciente other = (EPaciente) object;
        if ((this.idCedula == null && other.idCedula != null) || (this.idCedula != null && !this.idCedula.equals(other.idCedula))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "sofia.Persistencia.Entidades.EPaciente[idCedula=" + idCedula + "]";
    }

}
